Systems and methods for avoiding collisions between manipulator arms using a null-space

ABSTRACT

Devices, systems, and methods for avoiding collisions between manipulator arms using a null-space are provided. In one aspect, the system calculates an avoidance movement using a relationship between reference geometries of the multiple manipulators to maintain separation between reference geometries. In certain embodiments, the system determines a relative state between adjacent reference geometries, determines an avoidance vector between reference geometries, and calculates an avoidance movement of one or more manipulators within a null-space of the Jacobian based on the relative state and avoidance vector. The joints may be driven according to the calculated avoidance movement while maintaining a desired state of the end effector or a remote center location about which an instrument shaft pivots and may be concurrently driven according to an end effector displacing movement within a null-perpendicular-space of the Jacobian so as to effect a desired movement of the end effector or remote center.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a Non-Provisional of and claims the benefit ofpriority from U.S. Provisional Patent Application No. 61/654,773 filedon Jun. 1, 2012 and entitled “Systems and Methods for AvoidingCollisions Between Manipulator Arms Using a Null-Space” (Attorney DocketNo. ISRG03810PROV/US), the full disclosure of which is incorporatedherein by reference.

The present application is generally related to the followingcommonly-owned applications: U.S. application Ser. No. 12/494,695 filedJun. 30, 2009, entitled “Control of Medical Robotic System ManipulatorAbout Kinematic Singularities;” U.S. application Ser. No. 12/406,004filed Mar. 17, 2009, entitled “Master Controller Having RedundantDegrees of Freedom and Added Forces to Create Internal Motion;” U.S.application Ser. No. 11/133,423 filed May 19, 2005 (U.S. Pat. No.8,004,229), entitled “Software Center and Highly Configurable RoboticSystems for Surgery and Other Uses;” U.S. application Ser. No.10/957,077 filed Sep. 30, 2004 (U.S. Pat. No. 7,594,912), entitled“Offset Remote Center Manipulator For Robotic Surgery;” U.S. patentapplication Ser. No. 09/929,453 filed on Aug. 13, 2001, (U.S. Pat. No.7,048,745) entitled “Surgical Robotic Tools, Data Architecture, andUse;” U.S. application Ser. No. 09/398,507 filed Sep. 17, 1999 (U.S.Pat. No. 6,714,839), entitled “Master Having Redundant Degrees ofFreedom;” and U.S. application Ser. Nos. ______ [Atty Docket No.ISRG03760/US] entitled “Manipulator Arm-to-Patient Collision AvoidanceUsing a Null-Space;” and ______ [Atty Docket No. ISRG03770/US] entitled“System and Methods for Commanded Reconfiguration of a SurgicalManipulator Using the Null-Space” filed concurrently with the presentapplication; the disclosures of which are incorporated herein byreference in their entireties.

BACKGROUND OF THE INVENTION

The present invention generally provides improved surgical and/orrobotic devices, systems, and methods.

Minimally invasive medical techniques are aimed at reducing the amountof tissue which is damaged during diagnostic or surgical procedures,thereby reducing patient recovery time, discomfort, and deleterious sideeffects. Millions of “open” or traditional surgeries are performed eachyear in the United States; many of these surgeries can potentially beperformed in a minimally invasive manner. However, only a relativelysmall number of surgeries currently use minimally invasive techniquesdue to limitations in surgical instruments, techniques, and theadditional surgical training required to master them.

Minimally invasive telesurgical systems for use in surgery are beingdeveloped to increase a surgeon's dexterity as well as to allow asurgeon to operate on a patient from a remote location. Telesurgery is ageneral term for surgical systems where the surgeon uses some form ofremote control, e.g., a servomechanism, or the like, to manipulatesurgical instrument movements rather than directly holding and movingthe instruments by hand. In such a telesurgery system, the surgeon isprovided with an image of the surgical site at the remote location.While viewing typically a three-dimensional image of the surgical siteon a suitable viewer or display, the surgeon performs the surgicalprocedures on the patient by manipulating master control input devices,which in turn control the motion of robotic instruments. The roboticsurgical instruments can be inserted through small, minimally invasivesurgical apertures to treat tissues at surgical sites within thepatient, often the trauma associated with accessing for open surgery.These robotic systems can move the working ends of the surgicalinstruments with sufficient dexterity to perform quite intricatesurgical tasks, often by pivoting shafts of the instruments at theminimally invasive aperture, sliding of the shaft axially through theaperture, rotating of the shaft within the aperture, and/or the like.

The servomechanism used for telesurgery will often accept input from twomaster controllers (one for each of the surgeon's hands) and may includetwo or more robotic arms or manipulators. Mapping of the hand movementsto the image of the robotic instruments displayed by the image capturedevice can help provide the surgeon with accurate control over theinstruments associated with each hand. In many surgical robotic systems,one or more additional robotic manipulator arms are included for movingan endoscope or other image capture device, additional surgicalinstruments, or the like.

A variety of structural arrangements can be used to support the surgicalinstrument at the surgical site during robotic surgery. The drivenlinkage or “slave” is often called a robotic surgical manipulator, andexample linkage arrangements for use as a robotic surgical manipulatorduring minimally invasive robotic surgery are described in U.S. Pat.Nos. 6,758,843; 6,246,200; and 5,800,423, the full disclosures of whichare incorporated herein by reference. These linkages often make use of aparallelogram arrangement to hold an instrument having a shaft. Such amanipulator structure can constrain movement of the instrument so thatthe instrument shaft pivots about a remote center of spherical rotationpositioned in space along the length of the rigid shaft. By aligningthis center of rotation with the incision point to the internal surgicalsite (for example, with a trocar or cannula at an abdominal wall duringlaparoscopic surgery), an end effector of the surgical instrument can bepositioned safely by moving the proximal end of the shaft using themanipulator linkage without imposing potentially dangerous forcesagainst the abdominal wall. Alternative manipulator structures aredescribed, for example, in U.S. Pat. Nos. 6,702,805; 6,676,669;5,855,583; 5,808,665; 5,445,166; and 5,184,601, the full disclosures ofwhich are incorporated herein by reference.

While the new robotic surgical systems and devices have proven highlyeffective and advantageous, still further improvements would bedesirable. For example, when moving the surgical instruments within aminimally invasive surgical site, robotic surgical manipulators mayexhibit a significant amount of movement outside the patient,particularly when pivoting instruments about minimally invasiveapertures through large angular ranges, which can lead to the movingmanipulators inadvertently coming into contact with each other, withinstrument carts or other structures in the surgical room, with surgicalpersonnel, and/or with the outer surface of the patient. In particular,the volume of the manipulator arm may contact or collide with anadjacent manipulator arm, which may cause undesirable movement and/orstresses on the manipulator arms. Alternative manipulator structureshave been proposed which employ software control over a highlyconfigurable kinematic manipulator joint set to restrain pivotal motionto the insertion site while inhibiting inadvertentmanipulator/manipulator contact outside the patient (or the like). Thesehighly configurable “software center” surgical manipulator systems mayprovide significant advantages, but may also present challenges. Inparticular, the mechanically constrained remote-center linkages may havesafety advantages in some conditions. Additionally, the wide range ofconfigurations of the numerous joints often included in thesemanipulators may result in the manipulators being difficult to manuallyset-up in a configuration that is desirable for a particular procedure.Nonetheless, as the range of surgeries being performed usingtelesurgical systems continues to expand, there is an increasing demandfor expanding the available configurations and the range of motion ofthe instruments within the patient. Unfortunately, both of these changescan increase the challenges associated with controlling and predictingthe motion of the manipulators outside the body, and increase theimportance of avoiding undesirable contact or collision betweencomponents of the manipulator arm and an adjacent manipulator arm.

For these and other reasons, it would be advantageous to provideimproved devices, systems, and methods for surgery, robotic surgery, andother robotic applications. It would be particularly beneficial if theseimproved technologies provided the ability to avoid collisions betweenadjacent manipulator arms while maintaining a desired end effector stateor a desired location of a remote center about which the instrumentshaft pivots. Ideally, these improvements would allow for improvedmovement of one or more manipulator arms during a surgical procedurewhile avoiding collisions between the manipulator arms during endeffector movement. Additionally, it would be desirable to provide suchimprovements while increasing the range of motion of the instruments forat least some procedures and without significantly increasing the size,mechanical complexity, or costs of these systems, and while maintainingor improving their dexterity.

BRIEF SUMMARY OF THE INVENTION

The present invention generally provides improved robotic and/orsurgical devices, systems, and methods. In many embodiments, theinvention will employ highly configurable surgical robotic manipulators.These manipulators, for example, may have more degrees of freedom ofmovement than the associated surgical end effectors have within asurgical workspace of a patient. A robotic surgical system in accordancewith the present invention typically includes a manipulator armsupporting a robotic surgical instrument and a processor to calculatecoordinated joint movements for manipulating an end effector of theinstrument. The joints of the robotic manipulators supporting the endeffectors allow the manipulator to move throughout a range of differentconfigurations for a given end effector position and/or a given pivotpoint location. The system allows for movement of the highlyconfigurable robotic manipulators to avoid collisions betweenmanipulator arms by driving one or more joints of the manipulatoraccording to coordinated movement of the joints calculated by aprocessor, which extends one or more joints of the manipulator within anull-space of the kinematic Jacobian so as to maintain the desired endeffector state and/or pivot point location. In many embodiments, anavoidance movement is calculated in response to a determination that adistance between interacting elements or potentially collidingstructures of adjacent manipulator arms is less than desired.

In one aspect, a redundant degrees of freedom (RDOF) surgical roboticsystem with manipulate input is provided. The RDOF surgical roboticsystem comprises a manipulator assembly, one or more user input devices,and a processor with a controller. A manipulator arm of the assembly hasa plurality of joints providing sufficient degrees of freedom that allowa range of joint states for a given end effector state. In response to adetermination that a portion of the manipulator arm proximal of thedistal end effector is too close to a portion of an adjacentmanipulator, the system calculates an avoidance movement of theplurality of joints of one or both manipulators within the null-space oftheir respective Jacobians. The processor is configured to then drivethe joints, using a controller, according to the calculated avoidancemovement so as to maintain a desired state of the end effector.Additionally, in response to receiving a manipulation command to movethe end effector with a desired movement, the system calculates an endeffector displacing movement of the joints by calculating joint movementalong a null-perpendicular space of the Jacobian orthogonal to thenull-space and drives the joints according to the calculateddisplacement movement to effect the desired end effector movement, oftenconcurrently with driving the joints according to the calculatedavoidance movement.

In another aspect of the present invention, the manipulator isconfigured to move such that an intermediate portion of the instrumentshaft pivots about a remote center. Between the manipulator and theinstrument, there are a plurality of driven joints providing sufficientdegrees of freedom to allow a range of joint states for an end effectorposition as the intermediate portion of the instrument shaft extendsthrough an access site. A processor having a controller couples an inputdevice to the manipulator. In response to a determination that a portionof the manipulator arm is too close to a portion of an adjacentmanipulator, the processor determines movements of one or more joints toincrease the distance between the nearest portions of the manipulatorarms while the intermediate portion of the instrument of eachmanipulator arm remains within the respective access site and thedesired remote center location about which each instrument shaft pivotsis maintained. Upon receiving a manipulation command to effect a desiredmovement of an end effector of one or more manipulators, the systemcalculates end effector displacing movement of the joints of thecorresponding manipulator, which comprises calculating joint movementalong a null-perpendicular space orthogonal to the null-space and thendrives the joints of the respective manipulator according to thecalculated movement to effect the desired end effector movement in whichthe instrument shaft pivots about the remote center, often concurrentlywith driving of the joints according to the calculated avoidancemovement.

In another aspect, the system determines a reference geometry of a firstmanipulator and a reference geometry of a second manipulator, thereference geometries typically including multiple line segmentscorresponding to structures of each manipulator arm, and determines arelative state between the reference geometries. The system thendetermines an avoidance vector extending between portions of the firstand second reference geometries that overlap (e.g. capable ofcolliding). The avoidance vector for the first manipulator points in thedirection that tends to move the overlapping geometry of the firstmanipulator away from the second manipulator. The avoidance vector forthe second manipulator points in the direction that tends to move theoverlapping geometry of the second manipulator away from the firstmanipulator. The avoidance vector for the second manipulator, alsopoints in the opposite direction as the avoidance vector for the firstmanipulator. In response to a determination that a separation betweenthe reference geometries is less than desired, the system thendetermines a parameter associated with an avoidance vector, such as avirtual force or a commanded velocity, between the reference geometriessufficient to increase separation when applied along the avoidancevector. The parameters are typically calculated in a three-dimensionalwork space of the manipulator arms in which the corresponding referencegeometries move and are then converted into a joint space of the joints.Alternatively, other methods of calculating an avoidance movement may beused, including those described in Paragraphs [0067]-[0070]. Using thejoint space, the system calculates the avoidance movement so as toincrease the separation while extending the joints and links within anull-space of the Jacobian associated with the manipulator arm. Bydriving the joints according to the calculated avoidance movement, thesystem effects the avoidance movement so as to inhibit collisionsbetween adjacent manipulator arms while maintaining a desired state of adistal portion (e.g. end effector) of the manipulator arms.

In one aspect, each reference geometry comprises multiple line segments,and determining a relative state comprises determining the nearest pairof line segments from adjacent reference geometries. Although the use ofline segments to represent the manipulator arms is described throughout,it is appreciated that any suitable geometry could be used (e.g. points,line segment, spheres, a string of spheres, cylinders, volumes, orvarious geometric shapes). In another aspect, determining a nearest paircomprises determining a closest distance between points on the linesegment pair. From the first and second reference geometries, the systemmay determine, in a three-dimensional work space of the manipulatorarms, one or more pairs of interacting elements (e.g. line segmentshaving ranges of motion in the work space that overlap) and thendetermine a relative state between the reference geometries and anavoidance vector extending between the reference geometries. The systemthen determines a movement of the reference geometries along the vector,often by simulating a force applied along the vector or a commandedvelocity applied to a point on the line segment along the direction ofthe avoidance vector, which is then converted into the joint space. Themovement along the joint space is then projected onto a null-space ofthe Jacobian so as to calculate the avoidance movement to maintainseparation between the reference geometries while maintaining a desiredstate of a distal portion (e.g. end effector) of each of the first andsecond manipulator arms.

In certain embodiments, each of the first and second referencegeometries may include one or more points, line segments, volumes ormore sophisticated solid modeling corresponding to a component or volumeof the manipulator arm. In some embodiments, each of the first andsecond reference geometries includes multiple line segments, each linesegment corresponding to a link or protruding portion of a particularmanipulator arm, and the relative state between the first and secondreference geometries corresponds to a proximity between manipulatorarms, such as a distance between positions or velocities of the firstand second reference geometries. The proximity may be sensed locally byproximity sensors mounted to the driven linkages or “slaves.” Inresponse to a determination that the relative state is undesirable, suchas a less than desired separation, the system calculates an avoidancemovement of one or more joints of one or more of the manipulator armswithin the null-space to increase the separation distance whilemaintaining the desired state of a distal portion (e.g. end effector) ofeach manipulator arm or position of a remote center associated with eachmanipulator arm.

In certain embodiments, in response to a determination that a shortestdistance between the first and second reference geometry is less thandesired, which may be a pre-determined distance or a function of jointstates, a processor of the system calculates an avoidance movement ofthe joints or links of one or both manipulator arms within theirassociated null-space by driving the joints of the respectivemanipulator arm to increase the separation between the manipulator arms.The desired state of the end effector may include a desired position,velocity or acceleration of the end effector, or a pivotal motion abouta remote center. The end effector manipulation command is received froman input device by a user, such as a surgeon entering the command on asurgical console master input, while the avoidance movement iscalculated and used to drive the joints to provide sufficient clearancebetween the manipulator arms when the distance between referencegeometries is less than desired. In some embodiments, the distal portionor end effector of each arm includes or is configured to releasablysupport a surgical instrument having an elongate shaft extendingdistally to a surgical end effector, wherein each instrument shaftpivots about a remote center during surgery, and wherein the avoidancemovement of the one or more joints is calculated so as to maintain aposition of the remote center during driving of the joints. In someembodiments, the joints of one or more manipulator arms include arevolute joint near a distal portion (e.g. end effector) of themanipulator arm that pivots the insertion axis about an axis of thedistal revolute joint, the axis extending through the remote center. Theend effector displacing movement may be calculated so that a first setof joints, often the distal revolute joint, is not driven such that thefirst set of joints is effectively locked out or the end effectordisplacing movement of the joints is calculated such that the first setof joints is not driven to effect the desired distal portion displacingmovement (e.g. end effector displacing movement), while the avoidancemovement of the joints may be calculated so as to drive at least thedistal revolute joint of one or more manipulator arms. The first set ofjoints includes one or more joints of the manipulator arm.

In an example embodiment, each manipulator arm is configured to supporta tool having an intermediate portion extending along an insertion axisdistally of the proximal portion and an end effector at a distal end ofeach intermediate portion, wherein at least some of the jointsmechanically constrain movement of the distal portion (e.g. endeffector) relative to the base such that the distal portion of therespective manipulator arm pivots about a remote center disposed at theinsertion axis to facilitate movement of the end effector at a worksite, wherein the work site is accessed through an insertion opening.The plurality of joints of each manipulator arm may include remotespherical center joints disposed distally of the proximal portion andproximally of the distal portion of the respective manipulator arm,wherein the remote spherical center joints are mechanically constrainedso that articulation of the remote spherical center joints pivot thedistal portion of the respective manipulator arm about first, second,and third remote center axes, the first, second, and third remote centeraxes intersecting its remote center. In some embodiments, the avoidancemovement is independent of a planar relationship between the manipulatorarms when each arm is disposed in a substantially planar configuration,thereby allowing for an increased range of configuration for each armwhile inhibiting collisions between the first and second manipulatorswhere their respective ranges of motion overlap.

In certain embodiments, a first joint coupling the proximal portion of amanipulator arm to the proximal base is a revolute joint that supportsthe respective manipulator arm so that joint movement of the first jointpivots one or more joints of the manipulator arm about a pivotal axis ofthe revolute joint. In some embodiments, the pivotal axis of therevolute joint extends from the joints through the end effector,preferably through a remote center about which an instrument shaft ofthe end effector pivots. In one aspect, movement of the revolute jointpivots one or more joints of the manipulator arm about a cone distallytapered and oriented towards the distal end effector or remote center.The cone around which the manipulator arm pivots in this aspect,corresponds to a cone shaped void within the range of motion of the tooltip, in which the movement of the tool may be impossible or impaired. Inanother aspect, the joint coupling the proximal portion of themanipulator to the base is moveable relative to the base along a path,typically an arcuate or substantially circular path such that movementof the joint along the path pivots one or more joints of the manipulatorarm about an axis extending through a remote center about which theinstrument shaft pivots. The first joint may be driven so as to pivotabout its revolute axis and/or move along its path in response to aninput from a user to drive the joint and reconfigure the respectivemanipulator arm within a null-space of the Jacobian as desired.

In yet another aspect of the present invention, a surgical roboticmanipulator with a proximal revolute joint and a distal parallelogramlinkage is provided, the pivotal axis of the revolute jointsubstantially intersecting with the axis of the instrument shaft of theend effector, preferably at a remote center if applicable. The systemfurther includes a processor having a controller coupling the input tothe manipulator arm and configured to calculate the avoidance movementof the plurality of joints as in any of the embodiments describedherein. The above described aspect of calculating the avoidance movementto drive a particular joint that is not driven in the calculateddisplacement movement or vice versa may be applied to any of the jointsof the manipulator arm described herein.

A further understanding of the nature and advantages of the presentinvention will become apparent by reference to the remaining portions ofthe specification and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is an overhead view of a robotic surgical system in accordancewith embodiments of the present invention, the robotic surgical systemhaving a surgical station with a plurality of robotic manipulators forrobotically moving surgical instruments having surgical end effectors atan internal surgical site within a patient.

FIG. 1B diagrammatically illustrates the robotic surgical system of FIG.1A.

FIG. 2 is a perspective view illustrating a master surgeon console orworkstation for inputting surgical procedure commands in the surgicalsystem of FIG. 1A, the console including a processor for generatingmanipulator command signals in response to the input commands.

FIG. 3 is a perspective view of the electronics cart of FIG. 1A.

FIG. 4 is a perspective view of a patient side cart having fourmanipulator arms.

FIGS. 5A-5D show an example manipulator arm.

FIG. 5E shows a reference geometry including multiple line segmentscorresponding to components of the example manipulator arm shown inFIGS. 5A-5D.

FIGS. 6A-6C show the interaction between a first reference geometry of afirst example manipulator arm and a second reference geometry of asecond example manipulator arm as used to calculate an avoidancemovement for use in driving one or more joints to inhibit collisionsbetween manipulator arms, in accordance with some embodiments.

FIG. 7 shows an example manipulator arm having a proximal revolute jointthat revolves the manipulator arm about an axis of the joint.

FIG. 8 shows an example manipulator arm having a twisting joint near thedistal instrument holder that revolves or twists the instrument holderabout the joint axis.

FIGS. 9-10 show example manipulator arms having a proximal revolutejoint supporting the manipulator arm that translates about a curvedpath.

FIG. 11A graphically represent the relationship between the null-spaceand the null-perpendicular space of the Jacobian in an examplemanipulator assembly, and FIG. 11B graphically represents therelationship between the null-space and the null-motion manifold.

FIGS. 12-13 are simplified block diagrams representing methods inaccordance with some embodiments.

DETAILED DESCRIPTION OF THE INVENTION

The present invention generally provides improved surgical and roboticdevices, systems, and methods. The invention is particularlyadvantageous for use with surgical robotic systems in which a pluralityof surgical tools or instruments will be mounted on and moved by anassociated plurality of robotic manipulators during a surgicalprocedure. The robotic systems will often comprise telerobotic,telesurgical, and/or telepresence systems that include processorsconfigured as master-slave controllers. By providing robotic systemsemploying processors appropriately configured to move manipulatorassemblies with articulated linkages having relatively large numbers ofdegrees of freedom, the motion of the linkages can be tailored for workthrough a minimally invasive access site. The large number of degrees offreedom allow for movement or reconfiguration of the linkages of themanipulator assemblies within a null-space of the Jacobian so as to movethe linkages of a first manipulator away from one or more adjacentmanipulators while maintaining the desired end effector state. Incertain embodiments, the system determines when a distance between aportion of the manipulator arm and one or more adjacent manipulator armsis less than desired and then drives the joints according to acalculated avoidance movement that extends or moves the joints of one ormore manipulator arms within their respective null-space so as toincrease the distance between the portion of the manipulator arm and theone or more adjacent manipulator arms. Often, the joints of themanipulator arm are driven according to the calculated avoidancemovement concurrently with commanded displacement movement of a distalend effector during a surgical procedure.

The robotic manipulator assemblies described herein will often include arobotic manipulator and a tool mounted thereon (the tool oftencomprising a surgical instrument in surgical versions), although theterm “robotic assembly” will also encompass the manipulator without thetool mounted thereon. The term “tool” encompasses both general orindustrial robotic tools and specialized robotic surgical instruments,with these later structures often including an end effector that issuitable for manipulation of tissue, treatment of tissue, imaging oftissue, or the like. The tool/manipulator interface will often be aquick disconnect tool holder or coupling, allowing rapid removal andreplacement of the tool with an alternate tool. The manipulator assemblywill often have a base which is fixed in space during at least a portionof a robotic procedure and the manipulator assembly may include a numberof degrees of freedom between the base and an end effector of the tool.Actuation of the end effector (such as opening or closing of the jaws ofa gripping device, energizing an electrosurgical paddle, or the like)will often be separate from, and in addition to, these manipulatorassembly degrees of freedom.

The end effector will typically move in the workspace with between twoand six degrees of freedom. As used herein, the term “position”encompasses both location and orientation. Hence, a change in a positionof an end effector (for example) may involve a translation of the endeffector from a first location to a second location, a rotation of theend effector from a first orientation to a second orientation, or acombination of both. When used for minimally invasive robotic surgery,movement of the manipulator assembly may be controlled by a processor ofthe system so that a shaft or intermediate portion of the tool orinstrument is constrained to a safe motion through a minimally invasivesurgical access site or other aperture. Such motion may include, forexample, axial insertion of the shaft through the aperture site into asurgical workspace, rotation of the shaft about its axis, and pivotalmotion of the shaft about a pivot point adjacent the access site.

Many of the example manipulator assemblies described herein have moredegrees of freedom than are needed to position and move an end effectorwithin a surgical site. For example, a surgical end effector that can bepositioned with six degrees of freedom at an internal surgical sitethrough a minimally invasive aperture may in some embodiments have ninedegrees of freedom (six end effector degrees of freedom—three forlocation, and three for orientation-plus three degrees of freedom tocomply with the access site constraints), but may have ten or moredegrees of freedom. Highly configurable manipulator assemblies havingmore degrees of freedom than are needed for a given end effectorposition can be described as having or providing sufficient degrees offreedom to allow a range of joint states for an end effector position ina workspace. For example, for a given end effector position, themanipulator assembly may occupy (and be driven between) any of a rangeof alternative manipulator linkage positions. Similarly, for a given endeffector velocity vector, the manipulator assembly may have a range ofdiffering joint movement speeds for the various joints of themanipulator assembly within the null-space.

The invention provides robotic linkage structures which are particularlywell suited for surgical (and other) applications in which a wide rangeof motion is desired, and for which a limited dedicated volume isavailable due to the presence of other robotic linkages, surgicalpersonnel and equipment, and the like. The large range of motion andreduced volume needed for each robotic linkage may also provide greaterflexibility between the location of the robotic support structure andthe surgical or other workspace, thereby facilitating and speeding upsetup.

The term “state” of a joint or the like will often herein refer to thecontrol variables associated with the joint. For example, the state ofan angular joint can refer to the angle defined by that joint within itsrange of motion, and/or to the angular velocity of the joint. Similarly,the state of an axial or prismatic joint may refer to the joint's axialposition, and/or to its axial velocity. While many of the controllersdescribed herein comprise velocity controllers, they often also havesome position control aspects. Alternative embodiments may relyprimarily or entirely on position controllers, acceleration controllers,or the like. Many aspects of control system that can be used in suchdevices are more fully described in U.S. Pat. No. 6,699,177, the fulldisclosure of which is incorporated herein by reference. Hence, so longas the movements described are based on the associated calculations, thecalculations of movements of the joints and movements of an end effectordescribed herein may be performed using a position control algorithm, avelocity control algorithm, a combination of both, and/or the like.

In certain embodiments, the tool of an example manipulator arm pivotsabout a pivot point adjacent a minimally invasive aperture. The systemmay utilize a hardware remote center, such as the remote centerkinematics described in U.S. Pat. No. 6,786,896, the contents of whichare incorporated herein in its entirety. Such systems may utilize adouble parallelogram linkage which constrains movement of the linkagessuch that the shaft of the instrument supported by the manipulatorpivots about a remote center point. Alternative mechanically constrainedremote center linkage systems are known and/or may be developed in thefuture. Surprisingly, work in connection with the present inventionindicates that remote center linkage systems may benefit from highlyconfigurable kinematic architectures. In particular, when a surgicalrobotic system has a linkage that allows pivotal motion about two axesintersecting at or near a minimally invasive surgical access site, thespherical pivotal motion may encompass the full extent of a desiredrange of motion within the patient, but may still suffer from avoidabledeficiencies (such as being poorly conditioned, being susceptible toarm-to-arm or arm-to-patient contact outside the patient, and/or thelike). At first, adding one or more additional degrees of freedom thatare also mechanically constrained to pivotal motion at or near theaccess site may appear to offer few or any improvements in the range ofmotion. Nonetheless, such joints can provide significant advantages byallowing the overall system to be configured in or driven toward acollision-inhibiting pose by further extending the range of motion forother surgical procedures, and the like.

In other embodiments, the system may utilize software to achieve aremote center, such as described in U.S. Pat. No. 8,004,229, the entirecontents of which are incorporated herein by reference. In a systemhaving a software remote center, the processor calculates movement ofthe joints so as to pivot an intermediate portion of the instrumentshaft about a calculated pivot point location, as opposed to a pivotpoint determined by a mechanical constraint. By having the capability tocompute software pivot points, different modes characterized by thecompliance or stiffness of the system can be selectively implemented.More particularly, different system modes over a range of pivotpoints/centers (e.g., moveable pivot points, passive pivot points,fixed/rigid pivot point, soft pivot points) can be implemented asdesired; thus, embodiments of the present invention are suitable for usein various types of manipulator arms, including both software centerarms and hardware center arms.

Despite the many advantages of a robotic surgical system having multiplehighly configurable manipulators, since the manipulators include arelatively large number of joints and links between the base andinstrument, movement of the manipulator arms can be particularlycomplex. As the range of configurations and range of motion of themanipulator arm increases so does the likelihood of arm-to-armcollisions between a portion of the manipulator arm proximal of thedistal end effector and an adjacent manipulator. For example, theconsiderable range of motion of a manipulator arm having a distal toolthat pivots about a remote center adjacent a minimally invasiveaperture, as described herein, can allow a protruding portion of themanipulator arm or a distal link of the manipulator arm itself tocontact and/or collide with an link or protruding portion of an adjacentmanipulator. Since the precise movement of the plurality of joints of amanipulator arm is particularly complex, arm-to-arm collisions can be arecurring problem and can be difficult to avoid. The present inventionavoids such arm-to-arm collisions by calculating an avoidance movementof the manipulator arm within a null-space of the Jacobian and drivingthe joints to effect the avoidance movement while maintaining thedesired state of a distal portion or tool of the manipulator arm,thereby avoiding collisions between multiple manipulator arms whileeffecting a desired end effector movement.

Embodiments of the invention include a processor that calculates anavoidance movement which facilitates use of driven joints of thekinematic linkage to reconfigure the manipulator structure within anull-space to avoid arm-to-arm collisions, in response to adetermination that a distance between a first reference geometry and asecond reference geometry is less than desired, the first referencegeometry corresponding to one or more parts of a first manipulator armand the second reference geometry corresponding to one or more part of asecond adjacent manipulator arms. In other embodiments, the systemincludes additional manipulator arms each having a correspondingreference geometry, such as a third manipulator arm having a thirdreference geometry and a further manipulator having a fourth referencegeometry. In such embodiments, the system may further determine arelative state between each of the reference geometries and an avoidancevector extending therebetween, such as, between each nearest points onone or more pairs of reference geometries or line segments, andcalculate the avoidance movement of one or more of the manipulator armsso as to maintain a sufficient distance between each of the adjacentreference geometries.

In certain embodiments, the system uses a defined reference geometrywhich corresponds to a portion of the manipulator having a range ofmotion that overlaps with an adjacent manipulator such that the portionis susceptible to a collision with the adjacent manipulators when eachmoves into the region of overlap within its respective range of motion.The first reference geometry may be a single point, or more typicallymultiple line segments that corresponds to linkages and/or protrudingportions of the manipulator arm. The system then determines a relativestate between the defined reference geometries of adjacent arms, ofwhich the state may be any of a position, velocity or acceleration ofthe reference geometry. The relative state may be a distance between ormay include a difference between the velocity vectors of each referencegeometry. In some embodiments, the avoidance movement is calculatedusing this relative state and combined with a calculated movement toeffect a desired displacing movement commanded by a user. In such anembodiment, the avoidance movement may be minimal or negligible if therelative state indicates that a collision is unlikely and the avoidancemovement may be substantially greater when the relative state isindicative of an imminent collision.

In certain embodiments, the state of each reference geometry isdetermined using joint sensors in the respective manipulator arm toallow comparison between the reference geometry states so as to allowthe processor to determine the relative joint state for use incalculating the avoidance movement. A controller of the surgical systemmay include a processor with a readable memory having joint controllerprogramming instructions or code recorded thereon that allows theprocessor to derive suitable joint commands for driving the joints toallow the controller to effect movement of the joints of a manipulatorto avoid collisions with an adjacent manipulator and/or to effect thedesired end effector movement.

In the following description, various embodiments of the presentinvention will be described. For purposes of explanation, specificconfigurations and details are set forth in order to provide a thoroughunderstanding of the embodiments. However, it will also be apparent toone skilled in the art that the present invention may be practicedwithout the specific details. Furthermore, well-known features may beomitted or simplified in order not to obscure the embodiment beingdescribed.

Referring now to the drawings, in which like reference numeralsrepresent like parts throughout the several views, FIG. 1A is anoverhead view illustration of a Minimally Invasive Robotic Surgical(MIRS) system 10, in accordance with some embodiments, for use inperforming a minimally invasive diagnostic or surgical procedure on aPatient 12 who is lying down on an Operating table 14. The system caninclude a Surgeon's Console 16 for use by a surgeon 18 during theprocedure. One or more Assistants 20 may also participate in theprocedure. The MIRS system 10 can further include a Patient Side Cart 22(surgical robot) and an Electronics Cart 24. The Patient Side Cart 22can manipulate at least one removably coupled tool assembly 26(hereinafter simply referred to as a “tool”) through a minimallyinvasive incision in the body of the Patient 12 while the surgeon 18views the surgical site through the Console 16. An image of the surgicalsite can be obtained by an endoscope 28, such as a stereoscopicendoscope, which can be manipulated by the Patient Side Cart 22 so as toorient the endoscope 28. The Electronics Cart 24 can be used to processthe images of the surgical site for subsequent display to the surgeon 18through the Surgeon's Console 16. The number of surgical tools 26 usedat one time will generally depend on the diagnostic or surgicalprocedure and the space constraints within the operating room amongother factors. If it is necessary to change one or more of the tools 26being used during a procedure, an Assistant 20 may remove the tool 26from the Patient Side Cart 22, and replace it with another tool 26 froma tray 30 in the operating room.

FIG. 1B diagrammatically illustrates a robotic surgery system 50 (suchas MIRS system 10 of FIG. 1A). As discussed above, a Surgeon's Console52 (such as Surgeon's Console 16 in FIG. 1A) can be used by a surgeon tocontrol a Patient Side Cart (Surgical Robot) 54 (such as Patent SideCart 22 in FIG. 1A) during a minimally invasive procedure. The PatientSide Cart 54 can use an imaging device, such as a stereoscopicendoscope, to capture images of the procedure site and output thecaptured images to an Electronics Cart 56 (such as the Electronics Cart24 in FIG. 1A). As discussed above, the Electronics Cart 56 can processthe captured images in a variety of ways prior to any subsequentdisplay. For example, the Electronics Cart 56 can overlay the capturedimages with a virtual control interface prior to displaying the combinedimages to the surgeon via the Surgeon's Console 52. The Patient SideCart 54 can output the captured images for processing outside theElectronics Cart 56. For example, the Patient Side Cart 54 can outputthe captured images to a processor 58, which can be used to process thecaptured images. The images can also be processed by a combination theElectronics Cart 56 and the processor 58, which can be coupled togetherso as to process the captured images jointly, sequentially, and/orcombinations thereof. One or more separate displays 60 can also becoupled with the processor 58 and/or the Electronics Cart 56 for localand/or remote display of images, such as images of the procedure site,or other related images.

FIG. 2 is a perspective view of the Surgeon's Console 16. The Surgeon'sConsole 16 includes a left eye display 32 and a right eye display 34 forpresenting the surgeon 18 with a coordinated stereo view of the surgicalsite that enables depth perception. The Console 16 further includes oneor more input control devices 36, which in turn cause the Patient SideCart 22 (shown in FIG. 1A) to manipulate one or more tools. The inputcontrol devices 36 can provide the same degrees of freedom as theirassociated tools 26 (shown in FIG. 1A) so as to provide the surgeon withtelepresence, or the perception that the input control devices 36 areintegral with the tools 26 so that the surgeon has a strong sense ofdirectly controlling the tools 26. To this end, position, force, andtactile feedback sensors (not shown) may be employed to transmitposition, force, and tactile sensations from the tools 26 back to thesurgeon's hands through the input control devices 36.

The Surgeon's Console 16 is usually located in the same room as thepatient so that the surgeon may directly monitor the procedure, bephysically present if necessary, and speak to an Assistant directlyrather than over the telephone or other communication medium. However,the surgeon can be located in a different room, a completely differentbuilding, or other remote location from the Patient allowing for remotesurgical procedures.

FIG. 3 is a perspective view of the Electronics Cart 24. The ElectronicsCart 24 can be coupled with the endoscope 28 and can include a processorto process captured images for subsequent display, such as to a surgeonon the Surgeon's Console, or on another suitable display located locallyand/or remotely. For example, where a stereoscopic endoscope is used,the Electronics Cart 24 can process the captured images so as to presentthe surgeon with coordinated stereo images of the surgical site. Suchcoordination can include alignment between the opposing images and caninclude adjusting the stereo working distance of the stereoscopicendoscope. As another example, image processing can include the use ofpreviously determined camera calibration parameters so as to compensatefor imaging errors of the image capture device, such as opticalaberrations. The surgeon will generally manipulate tissues using therobotic system by moving the controllers within a three dimensionalcontroller work space of controllers of the Surgeon's Console, which inturn, move one or more manipulator arms move through a three dimensionalmanipulator arm work space. A processor can calculate the position ofthe manipulator arms in the work space via joint sensors and/or from themovement commands and can affect the desired movement commanded by thesurgeon by performing coordinate system transformations to a joint spaceof the one or more manipulator arms, the joint space being the range ofalternative joint configurations available to the processor. The programinstructions for effecting these processes may optionally be embodied ina machine readable code stored on a tangible media, which may comprisean optical disk, a magnetic disk, a magnetic tape, a bar code, EEPROM,or the like. Alternatively, programming instructions may be transmittedto and from processor using data communications systems such as an IOcable, an intranet, the internet, or the like. An example control systemis described in more detail in U.S. patent application Ser. No.09/373,678, filed Aug. 13, 1999, the full disclosure of which isincorporated herein by reference.

FIG. 4 shows a Patient Side Cart 22 having a plurality of manipulatorarms, each supporting a surgical instrument or tool 26 at a distal endof the manipulator arm. The Patient Side Cart 22 shown includes fourmanipulator arms 100 which can be used to support either a surgical tool26 or an imaging device 28, such as a stereoscopic endoscope used forthe capture of images of the site of the procedure. Manipulation isprovided by the robotic manipulator arms 100 having a number of roboticjoints. The imaging device 28 and the surgical tools 26 can bepositioned and manipulated through incisions in the patient so that akinematic remote center is maintained at the incision so as to minimizethe size of the incision. Images of the surgical site can include imagesof the distal ends of the surgical instruments or tools 26 when they arepositioned within the field-of-view of the imaging device 28.

Regarding surgical tool 26, a variety of alternative robotic surgicaltools or instruments of different types and differing end effectors maybe used, with the instruments of at least some of the manipulators beingremoved and replaced during a surgical procedure. Several of these endeffectors, including DeBakey Forceps, microforceps, Potts scissors, andclip-applier include first and second end effector elements which pivotrelative to each other so as to define a pair of end effector jaws (orblades). For instruments having end effector jaws, the jaws will oftenbe actuated by squeezing the grip members of the handle. Other endeffectors, including scalpel and electrocautery probe have a single endeffector element (e.g. a single “finger”). Single end effectorinstruments may also be actuated by gripping of the grip members, forexample, so as to trigger the delivery of electrocautery energy to theinstrument tip.

At times, the tip of the instrument may be used to capture a tissueimage. The elongate shaft of instrument 26 allow the end effectors andthe distal end of the shaft to be inserted distally into a surgicalworksite through a minimally invasive aperture, often through anabdominal wall or the like. The surgical worksite may be insufflated,and movement of the end effectors within the patient will often beeffected, at least in part, by pivoting of the instrument 26 about thelocation at which the shaft passes through the minimally invasiveaperture. In other words, manipulators 100 will move the proximalhousing of the instrument outside the patient so that the shaft extendsthrough a minimally invasive aperture location so as to help provide adesired movement of end effector. Hence, manipulators 100 will oftenundergo significant movement outside patient P during a surgicalprocedure.

Example manipulator arms in accordance with embodiments of the presentinvention can be understood with reference to FIGS. 5A-10. As describedabove, a manipulator arm generally supports a distal instrument orsurgical tool and effects movements of the instrument relative to abase. As a number of different instruments having differing endeffectors may be sequentially mounted on each manipulator during asurgical procedure (typically with the help of a surgical assistant), adistal instrument holder will preferably allow rapid removal andreplacement of the mounted instrument or tool. As can be understood withreference to FIG. 4, manipulators are proximally mounted to a base ofthe patient side cart. Typically, the manipulator arm includes aplurality of linkages and associated joints extending between the baseand the distal instrument holder. In one aspect, an example manipulatorincludes a plurality of joints having redundant degrees of freedom suchthat the joints of the manipulator arm can be driven through a range ofdiffering configurations for a given end effector position. This may bethe case for any of the embodiments of manipulator arms disclosedherein.

In certain embodiments, such as shown for example in FIG. 5A, an examplemanipulator arm includes a proximal revolute joint J1 that rotates abouta first joint axis so as to revolve the manipulator arm distal of thejoint about the joint axis. In some embodiments, revolute joint J1 ismounted directly to the base, while in other embodiments, joint J1 maybe mounted to one or more movable linkages or joints. The joints of themanipulator, in combination, have redundant degrees of freedom such thatthe joints of the manipulator arm can be driven through a range ofdiffering configurations for a given end effector position. For example,the manipulator arm of FIGS. 5A-5D may be maneuvered into differingconfigurations while the distal member 511 (such as a cannula throughwhich the tool 512 or instrument shaft extends) supported within theinstrument holder 510 maintains a particular state and may include agiven position or velocity of the end effector. Distal member 511 istypically a cannula through which the tool shaft 512 extends, and theinstrument holder 510 is typically a carriage (shown as a brick-likestructure that translates on a spar) to which the instrument attachesbefore extending through the cannula 511 into the body of the patientthrough the minimally invasive aperture.

Describing the individual links of manipulator arm 500 of FIGS. 5A-5Dalong with the axes of rotation of the joints connecting the links asillustrated in FIG. 5A-5D, a first link 504 extends distally from apivotal joint J2 which pivots about its joint axis and is coupled torevolute joint J1 which rotates about its joint axis. Many of theremainder of the joints can be identified by their associated rotationalaxes, as shown in FIG. 5A. For example, a distal end of first link 504is coupled to a proximal end of a second link 506 at a pivotal joint J3that pivots about its pivotal axis, and a proximal end of a third link508 is coupled to the distal end of the second link 506 at a pivotaljoint J4 that pivots about its axis, as shown. The distal end of thethird link 508 is coupled to instrument holder 510 at pivotal joint J5.The pivotal axes of each of joints J2, J3, J4, and J5 may be configuredto be substantially parallel such that the linkages appear “stacked”when positioned next to one another, as shown in FIG. 5D, so as toprovide a reduced width w of the manipulator arm and improve clearancearound a portion of the manipulator during maneuvering of themanipulator assembly. In some embodiments, the instrument holder alsoincludes additional joints, such as a prismatic joint J6, thatfacilitate axial movement of the instrument through the minimallyinvasive aperture and facilitate attachment of the instrument holder toa cannula through which the instrument is slidably inserted.

The cannula 511 may include additional degrees of freedom distal ofinstrument holder 510. Actuation of the degrees of freedom of theinstrument may be driven by motors of the manipulator, and alternativeembodiments may separate the instrument from the supporting manipulatorstructure at a quickly detachable instrument holder/instrument interfaceso that one or more joints shown here as being on the instrument areinstead on the interface, or vice versa. In some embodiments, cannula511 includes a rotational joint J7 (not shown) near or proximal of theinsertion point of the tool tip or the remote center RC about which ashaft of the tool pivots adjacent a minimally invasive aperture. Adistal wrist of the instrument allows pivotal motion of an end effectorthrough cannula 511 about instrument joints axes of one or more jointsat the instrument wrist. An angle between end effector jaw elements maybe controlled independently of the end effector location andorientation.

In certain embodiments, the system uses a defined reference geometrycorresponding to the position or state of each manipulator arm such thata processor of the system can determine when a collision between armsmay be imminent by determining a relative state between referencegeometries of adjacent manipulator arms. As shown in FIG. 5A, thereference geometry 700, sometimes called an “avoidance referencegeometry”, can include multiple line segments, 704, 706, 708, 701, 711each corresponding to a linkage of the physical manipulator arm 500. The“reference geometry” itself is defined by the processor (or previouslydefined and/or input by a user) and its state is determined and trackedby the processor as the components of the manipulator move throughout asurgical space, typically using joint sensors. The line segments shownin FIG. 5A are for illustrative purposes to indicate how the referencegeometry corresponds to the components or feature relating to themanipulator arm and to illustrate variations in how the referencegeometry can be defined and utilized by the processor in accordance withthe present invention to avoid arm-to-arm collisions. The referencegeometry may further include points or line segments that correspond toprotrusions or features relating to the manipulator arm, for example,line segment 711 corresponds to a protruding edge of a carriage movablymounted on the spar linkage 710 and line segment 712 corresponds to aprotruding edge of the base of the instrument extending through cannula511. As described herein, the reference geometry line segments definedwhich correspond to components of a first manipulator are collectivelyreferred to as the “first reference geometry”, such as shown in FIG. 5E,which graphically depicts reference geometry 700 as encompassing linesegments 706, 708, 710, 711, and 712 that correspond to variouscomponents of manipulator arm 500.

FIGS. 6A-6C illustrate an interaction of a first and second manipulatorand an example use of a first and second avoidance reference geometry,as described above, in accordance with the present invention. The systemin FIG. 6A includes a first manipulator 500 and a second manipulator500′, each having an identical assembly of kinematically joints linkageshaving a range of configurations for a given end effector position,although it is appreciated that various other manipulators could beused, as well as combining differing types of manipulators within thesame system. In one aspect, the system calculates an avoidance movementof one or both manipulators by applying a virtual force between the linesegments of reference geometry 700 and the line segments of referencegeometry 700′. The processor uses the virtual force to calculate thejoint forces that provide movement needed to move a pair of interactingelements away from one another. In some embodiments, the system maycalculate a “repulsion force” between interacting elements of adjacentmanipulators using the reference geometries described above along anavoidance vector extending between the interacting elements. Therelative state, avoidance vector and repulsion force may be calculatedin the three-dimensional workspace of the manipulator arms and thenconverted into joint space. The movement of the manipulator arm withinthe joint space is then projected onto a null-space of the Jacobian soas to determine the avoidance movement within the null-space to increaseseparation between the reference geometries, which correspond to themanipulator structures themselves, while maintaining a desired positionof a distal portion of the manipulators. Often, the force may be afunction of the relative state or the distance between the referencegeometries of each manipulator, a minimum or maximum distance, or adesired distance (e.g., f(d>d_max)=0, f′(d)<0) (note: f′ is thederivative of f). Use of a calculated repulsion force betweeninteracting elements of the reference geometries to obtain a null-spacecoefficients can be used in calculating the avoidance movement within anull-space. The null-space coefficients and calculating of the avoidancemovement using the null-space coefficient is described in more detailbelow.

In an example embodiment, the system determines at least a closest pairof elements from adjacent manipulators that could potentially interactor collide, often called “interacting elements.” The pair of interactingelements, one from each manipulator, can include any pair of elementshaving a range of motion that overlaps. For example, in FIG. 6A, oneinteracting element pair is 711 and 711′, while another interactingelement pair is 710 and 706′. In some embodiments, the system onlyconsiders interacting element pairs within a specified separationdistance. In response to a determination that a distance (d) betweeninteracting element pairs is less than desired, such as the distance (d)between the interacting elements to which reference geometries 711 and711′ correspond, the processor calculates an avoidance movement of oneor both manipulators to increase the distance between the interactingelements. In other embodiments, the calculation of avoidance movementmay also include forces obtained using distances between other pairs ofinteracting elements, such as distance d′ between 710 and 706′ so as toprovide more efficient movement or maintain a suitable distance betweenother interacting element pairs during movement. In certain embodiments,the avoidance movement is calculated by determining a repulsion forcealong a vector extending between the identified interaction elements orapplying a virtual force in the work space of the manipulators and usingthis form to calculate the avoidance movement within the joint space.

In some embodiments, the avoidance movement is calculated so as to drivethe joints of one manipulator of a pair used in the above calculationsaccording to the calculated avoidance movement. In other embodiments,the avoidance movement may be calculated so as to drive one moreparticular joints of a manipulator, regardless of whether those jointsare driven to effect other calculated movements. Additionally, avoidancemovement may also be calculated to drive one or more particular jointsof the manipulator arm, such as a joint that is not driven wheneffecting a displacing movement of the manipulator arm commanded by auser.

In the embodiment of FIG. 6A, in response to a determination that thedistance (d) is less than desired, the processor determines thecalculated avoidance movement of the second manipulator 500′ to increasethe distance (d) between reference geometries 711 and 711′. As shown inFIG. 6A, the manipulator arms are each supported by a proximal revolutejoint J1 that pivots the respective arm about an axis of the joint. Asshown in FIGS. 6B-6C, movement of one or both manipulator arms using acombination of joints in one or both arms, respectively, can move anupper portion of the arm without changing the state of the end effectorand its remote center RC. In FIG. 6B, the nearest points are determinedby the system to be a distance (d1) apart. In response to thisdetermination (or according to any of the methods described herein), thesystem drives one or more joints of one or both arms to increase thedistance between nearest points (shown as d2 in FIG. 6C) withoutchanging the state of the end effector at the end of each arm; thus, thesystem avoids a collision by driving at least a first joint of one of apair of manipulators according to a calculated movement within anull-space of the Jacobian. In some embodiments, driving at least afirst proximal joint may provide the avoidance movement while minimizingreconfiguration of a distal portion (e.g. end effector) of themanipulator, although a similar avoidance movement could be calculatedto drive one or more joints of a more distal portion of the manipulatorarm. In another aspect, the system may be configured to calculate theavoidance movement to move any of the joints described herein, whetheror not such joints are driven when effecting displacing movement, or toinclude driving of joints according to hierarchy based on a particularconfiguration or state of the manipulator.

In accordance with certain embodiments, avoidance movement may becalculated according to a number of differing methods, which ofteninclude determining “nearest points” between manipulator arms. Thenearest points can be determined either using calculations based onknown manipulator positions or states via joint sensors or can beapproximated using other suitable means, such as an external sensor,video, sonar, capacitive, or touch sensors, and the like. Embodimentsmay also use proximity sensors mounted on the driven linkages or slavesthat can sense local arm-to-arm proximity and/or collisions.

In certain embodiment, the processor determines the nearest points onthe line segments of each reference geometry. After applying the virtualrepulsion force, the processor then calculates the repulsion forcebetween the first and second manipulator. In one aspect, the referencegeometry of each manipulator arm may be defined as “local line segments”such that interacting line segments on adjacent manipulator arms repelone another. In another aspect, the reference geometry of onemanipulator may be defined as “local line segments” and the other as“obstacle line segments,” such that only the local line segments arerepelled by the virtual force. This aspect allows the system to avoidcollisions by calculating an avoidance movement for only one or onlysome of the manipulator arms, thereby preventing unnecessary movement oroverly complex avoidance movements. For example, although the virtualforce may be applied between line segments of each reference geometry,only the movement of the “local line segments” is calculated. In someembodiments, the processor converts the calculated forces obtained fromapplying the virtual force to joint velocities of the manipulator armsto be moved to according to the avoidance movement, which is thenprojected onto the null-space. This allows an avoidance movement to becalculated using the virtual force that extends the joints and/or linksof the manipulator within a null-space of the Jacobian so as to maintainthe desired end effector while simultaneously avoiding arm-to-armcollisions.

In an example embodiment, the processor determines a distance between atleast one pair of reference geometry line segments from each manipulatorarm, typically the nearest pair of line segments, often using acalculation within the work space of the manipulator arms. For linesegment pairs that are closer than a certain maximum exclusion distance,the closest points are identified. The processor then applies a virtualrepulsion vector, the strength of which is inversely proportional to thedistance, which is then converted into the joint space and projectedonto the null-space so as to calculate the movement within thenull-space to maintain sufficient clearance between the line segment ofthe pair. The processor may perform the above process to more than oneline segment pair. In such embodiments, the combined result of therepulsion vectors from all line segment pairs can be consolidated into afinal set of null-space coefficients (α), which may then be used by thejoint controller to effect the calculated avoidance movement. Use of thenull-space coefficients to effect movement within a null-space isdescribed in further detail below.

In another example embodiment, for each pair of manipulator arms, theprocessor first determines a pair of elements or components which couldpotentially contact or collide with one another using referencegeometries corresponding to each elements, as described above. Using thecorresponding reference geometries, the system then determines theclosest elements of each pair, multiple interaction pairs, or a weightedsum of the effects of all element pairs, typically within a maximumexclusion distance. To calculate the avoidance movement, the processorgenerally first determines the nearest points on each pair ofinteraction elements and calculates an avoidance vector that may be usedto “push” the elements away from each other. The avoidance vector may becalculated by generating a virtual force as described above andcommanded a velocity in a direction to repel the elements from eachother, or by various other methods. The processor then maps the forcesneeded to repel the elements away from each other at the nearest pointsof the reference geometries into null-space vectors to obtain null-spacecoefficients, which are then used to calculate the avoidance movementwithin the null-space of the manipulator.

In one approach, the processor calculates an avoidance vector in a workspace of the manipulator arms; transforms the avoidance vectors into thejoint velocity space; and then projects the vectors onto the null-spaceusing the result to obtain the avoidance movement. The processor may beconfigured to calculate a repulsion or avoidance vector between nearestpoints; map the avoidance vector into the motion of the “nearest” pointof the manipulator arms, in the work space, and then determine thenull-space coefficients (α) that provide the desired direction andmagnitude to move the nearest points away from one another. If multipleinteracting points are used between various points or features onadjacent manipulator arms, the resulting null-space coefficientsassociated with the avoidance vectors from each interacting feature canbe combined through summation.

In another approach, the processor may use null-space basis vectors;transform the vectors into the motion of the avoidance geometry of themanipulator in the physical space; and then combine these and theavoidance vectors in the physical space into coefficients for theoriginal null-space basis vectors. The processor may be configured tocalculate a repulsion or avoidance vector between nearest points of themanipulator arms (e.g. avoidance geometries), and combine these with theavoidance vectors, as was just described. If multiple features on themanipulator arms are used, the resulting joint velocity vector ornull-space coefficients can be combined using least-squares or othermethodology.

In a first approach, the avoidance movement is determined by generatingan potential field in joint-space, such that high potentials representshorter distances between the manipulator arms and lower potentialsrepresent larger distances. The null-space coefficients (α) are thenchosen to descend down the negative gradient of the potential field,preferably to the greatest extent possible. In a second approach, thesystem determines the null-space basis vectors and maps the null-spacebasis vectors into the resulting motion of the avoidance geometry in thework space, and then selecting the null-space coefficients for eachbasis vector increase the distance between the avoidance geometries ofthe manipulator arms, thereby increasing the distance between thenearest points on the manipulator arms.

As described above, the avoidance movement may be calculated so as toinclude driving of any number of joints of differing types, oralternatively, to avoid driving particular joints of the manipulatorarm. Additional joints which may be used in varying degrees inaccordance with the present invention are shown in FIGS. 7-10 anddescribed further below.

In the manipulator arm shown in FIG. 7, the avoidance movement could becalculated to include driving various combinations of joints J1, J2, J3,J4 and J5 (in the depicted embodiment joints J3, J4 and J5 areconfigured in a parallelogram arrangement, and therefore move togetherand have a single state between them), or alternatively could becalculated to drive joint J6, as well as any other joints that providethe needed manipulator arm within the null-space. Joint J6 of themanipulator arm illustrated in FIG. 7 may optionally be used as thejoint coupling the instrument holder 510 to a distal link of themanipulator arm 508. Joint J6 allows the instrument holder 510 to twistor rotate about the axis of joint J6, the axis typically passing throughthe remote center or insertion point. Ideally, the joint axis is locateddistally on the arm and is therefore particularly well suited to movingthe orientation of the insertion axis. The addition of this redundantaxis allows the manipulator to assume multiple positions for any singleinstrument tip position, thereby allowing the instrument tip to followthe surgeon's commands while simultaneously avoiding collisions withadjacent manipulator arms or other obstacles. The manipulator arm may beconfigured to articulate an end effector of the mounted surgicalinstrument around a first axis (e.g., the pitch axis) and to articulatethe end effector around a second axis (e.g., the yaw axis) that isperpendicular to the first axis. The relationship between the joint axisof joint J6, the yaw axis of J1 and the insertion axis of cannula 511 isshown in FIG. 8.

FIG. 7 also illustrates a manipulator having a proximal revolute jointJ1 that revolves the manipulator arm about a joint axis of the revolutejoint. Joint J1 includes a link 501 that offsets the next successivejoint by a pre-determined distance or angle. Typically, the joint axisof joint J1 is aligned with the remote center RC or insertion point ofthe tool tip, as shown in each of FIG. 7. In an example embodiment, thejoint axis of joint J1 passes through the remote center, as does eachother revolute joint axis in the manipulator arm, to prevent motion atthe body wall and can therefore be moved during surgery. The joint axisis coupled to a proximal portion of the arm so it can be used to changethe position and orientation of the back of the arm. In general,redundant axes, such as this, allow the instrument tip to follow thesurgeon's commands while simultaneously avoiding collisions with otherarms or patient anatomy.

FIGS. 9-10 illustrate another type of redundant joint for use withexample manipulator arms, a proximal joint that translates or revolvesthe manipulator arm about an axis. In some embodiments, the first jointJ1, which supports the manipulator arm, translates along a curved pathso as to increase the range of motion of the manipulator arm and awayfrom areas in which the manipulator arm may have decreasedmaneuverability. This joint may include a circular path, such as shownin FIG. 9, or may a semi-circular or arcuate path, such as shown in FIG.10. Generally, in such embodiments, the joint axis intersects with theremote center RC about which the shaft of the tool tip pivots. In theembodiment shown in FIG. 9, the joint axis is a vertical axis, whereasin the embodiment shown in FIG. 10 the joint axis is horizontal.

In an example embodiment, the joint movements of the manipulator arecontrolled by driving one or more joints by a controller using motors ofthe system, the joints being driven according to coordinated and jointmovements calculated by a processor of the controller. Mathematically,the controller may perform at least some of the calculations of thejoint commands using vectors and/or matrices, some of which may haveelements corresponding to configurations or velocities of the joints.The range of alternative joint configurations available to the processormay be conceptualized as a joint space. The joint space may, forexample, have as many dimensions as the manipulator has degrees offreedom, and a particular configuration of the manipulator may representa particular point in the joint space with each coordinate correspondingto a joint state of an associated joint of the manipulator.

In certain embodiments, the system includes a controller in which acommanded position and velocity within the Cartesian-coordinate-space(referred to herein as Cartesian-space) are inputs. Although generally,there is no closed form relationship which maps a desiredCartesian-space position to an equivalent joint-space position, there isgenerally a closed form relationship between the Cartesian-space andjoint-space velocities, such that a kinematic Jacobian can be used tomap joint-space velocities to Cartesian-space velocities. Thus, evenwhen there is no closed-form mapping between input and output positions,mappings of the velocities of the joint can iteratively be used, such asin a Jacobian-based controller to implement a movement of themanipulator from a commanded user input, however, a variety ofimplementations can be used.

In an example embodiment, the system includes a controller in which acommanded position and velocity of a feature in the work-space, denotedhere as its Cartesian space, are inputs. The feature may be any featureon the manipulator or off the manipulator which can be used as a controlframe to be articulated using control inputs. An example of a feature onthe manipulator, used in some embodiments described herein, would be thetool-tip. Another example of a feature on the manipulator would be aphysical feature which is not on the tool-tip, but is a part of themanipulator, such as a pin or a painted pattern. An example of a featureoff the manipulator would be a reference point in empty space which isexactly a certain distance and angle away from the tool-tip. Anotherexample of a feature off the manipulator would be a target tissue whoseposition relative to the manipulator can be established. In all thesecases, the end effector is associated with an imaginary control framewhich is to be articulated using control inputs. However, in thefollowing, the “end effector” and the “tool tip” are used synonymously.Although generally, there is no closed form relationship which maps adesired Cartesian space end effector position to an equivalentjoint-space position, there is generally a closed form relationshipbetween the Cartesian space end effector and joint-space velocities. Thekinematic Jacobian is the matrix of partial derivatives of Cartesianspace position elements of the end effector with respect to joint spaceposition elements. In this way, the kinematic Jacobian captures thekinematic relationship between the end effector and the joints. In otherwords, the kinematic Jacobian captures the effect of joint motion on theend effector. The kinematic Jacobian (J) can be used to map joint-spacevelocities (dq/dt) to Cartesian space end effector velocities (dx/dt)using the relationship below:

dx/dt=J dq/dt

Thus, even when there is no closed-form mapping between input and outputpositions, mappings of the velocities can iteratively be used, such asin a Jacobian-based controller to implement a movement of themanipulator from a commanded user input, however a variety ofimplementations can be used. Although some embodiments include aJacobian-based controller, some implementations may use a variety ofcontrollers that may be configured to access the Jacobian to provide anyof the features described herein.

One such implementation is described in simplified terms below. Thecommanded joint position is used to calculate the Jacobian (J). Duringeach time step (□t) a Cartesian space velocity (dx/dt) is calculated toperform the desired move (dx_(des)/dt) and to correct for built updeviation (□x) from the desired Cartesian space position. This Cartesianspace velocity is then converted into a joint-space velocity (dq/dt)using the pseudo-inverse of the Jacobian (J^(#)). The resultingjoint-space commanded velocity is then integrated to produce joint-spacecommanded position (q). These relationships are listed below:

dx/dt=dx _(des) /dt+k□x  (1)

dq/dt=J ^(#) dx/dt  (2)

q _(i) =q _(i-1) +dq/dt□t  (3)

The pseudo-inverse of the Jacobian (J) directly maps the desired tooltip motion (and, in some cases, a remote center of pivotal tool motion)into the joint velocity space. If the manipulator being used has moreuseful joint axes than tool tip degrees of freedom (up to six), (andwhen a remote center of tool motion is in use, the manipulator shouldhave an additional 3 joint axes for the 3 degrees of freedom associatedwith location of the remote center), then the manipulator is said to beredundant. A redundant manipulator's Jacobian includes a “null-space”having a dimension of at least one. In this context, the “null-space” ofthe Jacobian (N(J)) is the space of joint velocities whichinstantaneously achieves no tool tip motion (and when a remote center isused, no movement of the pivotal point location); and “null-motion” isthe combination, trajectory or path of joint positions which alsoproduces no instantaneous movement of the tool tip and/or location ofthe remote center. Incorporating or injecting the calculated null-spacevelocities into the control system of the manipulator to achieve thedesired reconfiguration of the manipulator (including anyreconfigurations described herein) changes above equation (2) to thefollowing:

dq/dt=dq _(perp) /dt+dq _(null) /dt  (4)

dq _(perp) /dt=J ^(#) dx/dt  (5)

dq _(null) /dt=(1−J ^(#) J)z=V _(n) V _(n•) ^(T) z=V _(n)□  (6)

The joint velocity according to Equation (4) has two components: thefirst being the null-perpendicular-space component, the “purest” jointvelocity (shortest vector length) which produces the desired tool tipmotion (and when the remote center is used, the desired remote centermotion); and the second being the null-space component. Equations (2)and (5) show that without a null-space component, the same equation isachieved. Equation (6) starts with a traditional form for the null-spacecomponent on the left, and on the far right side, shows the form used inan example system, wherein (V_(n)) is the set of orthonormal basisvectors for the null-space, and (α) are the coefficients for blendingthose basis vectors. In some embodiments, a is determined by controlparameters, variables or setting, such as by use of knobs or othercontrol means, to shape or control the motion within the null-space asdesired.

FIG. 11A graphically illustrates the relationship between the null-spaceof the Jacobian and the null-perpendicular-space of the Jacobian in anexample manipulator arm. FIG. 11A shows a two-dimensional schematicshowing the null-space along the horizontal axis, and thenull-perpendicular space along the vertical axis, the two axes beingorthogonal to one another. The diagonal vector represents the sum of avelocity vector in the null-space and a velocity vector in thenull-perpendicular space, which is representative of Equation (4) above.

FIG. 11B graphically illustrates the relationship between the null-spaceand the null-motion manifold within a four-dimensional joint space,shown as the “null-motion manifold.” Each arrow (q1, q2, q3, and q4)representing a principal joint axis. The closed curve represents anull-motion manifold which is a set of joint-space positions whichinstantaneously achieves the same end effector state (e.g. position).For a given point A on the curve, since the null-space is a space ofjoint velocities which instantaneously produce no movement of the endeffector, the null-space is parallel to the tangent of the null-motionmanifold at point A. In an example embodiment, calculating the avoidancemovement includes generating null-space coefficients (α) which increasethe distance between the interaction element pairs as determined usingthe first and second reference geometries, thereby increasing thedistance between manipulator arms.

FIGS. 12-13 illustrate methods of reconfiguring a manipulator assemblyof a robotic surgical system to avoid arm-to-arm collisions inaccordance with embodiments of the present invention. FIG. 12 shows asimplified schematic of the required blocks need to implement thegeneral algorithms to control the patient side cart joint states, inrelation to the equations discussed above. According to the method ofFIG. 12, the system: calculates the forward kinematics of themanipulator arm; then calculates dx/dt using Equation (1), calculatesdq_(perp)/dt using Equation (5), then calculates dq_(null)/dt usingEquation (6). From the calculated dq_(perp)/dt and dq_(null)/dt thesystem then calculates dq/dt and q using Equations (4) and (3),respectively, thereby providing the movement by which the controllereffects the avoidance movement of the manipulator while maintaining thedesired commanded state of the end effector (and/or location of theremote center).

FIG. 13 shows a block diagram of an example embodiment of the system. Inresponse to a manipulation command input by a user to effect a desiredtip state, the system uses the present joint position, such as may bedetermined using joint state sensors, to compute the appropriateJacobian and hence dq_(perp)/dt to effect the desired tip state. Thepresent joint positions can also be used to determine a distance (d)between a reference geometry of each manipulator arm. In response to adetermination that a distance (d) between the between referencegeometries of a reference pair on interacting elements of adjacent armsis less than a critical distance (d_(min)), the system determines jointsvelocities dq_(null)/dt that increase (d), which can then be combinedwith dq_(perp)/dt to obtain dq/dt, according to which the joint(s) aredriven to effect the desired tip state concurrently with avoidingarm-to-arm collisions.

While the example embodiments have been described in some detail forclarity of understanding and by way of example, a variety ofadaptations, modifications, and changes will be obvious to those ofskill in the art. Hence, the scope of the present invention is limitedsolely by the appended claims.

1. (canceled)
 2. A robotic method for performing avoidance movements ina robotic system, the method comprising: determining a first referencegeometry corresponding to a structure of a first manipulator arm of therobotic system, the first manipulator arm including a first distalportion, a first proximal portion coupled to a first base, and aplurality of first joints between the first distal portion and the firstbase, wherein the plurality of first joints has a joint space withsufficient degrees of freedom to allow a range of differing joint statesof the plurality of first joints for a given state of the first distalportion; determining a second reference geometry corresponding to astructure of a second manipulator arm of the robotic system, the secondmanipulator arm including a second distal portion, a second proximalportion coupled to a second base, and a plurality of second jointsbetween the second distal portion and the second base, wherein theplurality of second joints has a joint space with sufficient degrees offreedom to allow a range of differing joint states of the plurality ofsecond joints for a given state of the second distal portion;determining an avoidance movement of one or more joints of the firstplurality of joints and the second plurality of joints to maintain aseparation between the first and second reference geometries in aworkspace of the robotic system, the avoidance movement being determinedby calculating joint velocities in joint-velocity directions thatmaintain a desired state of the first distal portion and a desired stateof the second distal portion; and driving the one or more joints of thepluralities of first joints and second joints according to thedetermined avoidance movement.
 3. The robotic method of claim 2, whereinthe avoidance movement is determined by calculating joint velocities ofthe one or more joints of the pluralities of first joints and secondjoints from a first null space of a first Jacobian associated with thefirst manipulator arm or a second null space of a second Jacobianassociated with the second manipulator arm.
 4. The robotic method ofclaim 2, wherein the first base is included in a first support structureand the second base is included in a second support structure, the firstsupport structure and the second support structure being separatelymobile in the workspace of the robotic system.
 5. The robotic method ofclaim 2, wherein the first base and the second base are included in asupport structure that connects the first base and the second base. 6.The robotic method of claim 2, wherein the avoidance movement maintainsthe separation between the first and second reference geometries incombination with the desired state of the first distal portion and thedesired state of the second distal portion.
 7. The robotic method ofclaim 2, further comprising: determining an avoidance vector based on arelative state of the first and second reference geometries in theworkspace of the robotic system, the avoidance vector characterizing theseparation between the first and second reference geometries, and theavoidance movement being determined from the avoidance vector.
 8. Therobotic method of claim 7, wherein: the avoidance vector corresponds toa clearance value between the first and second manipulator arms, theclearance value being determined from values of the relative state ofthe first and second reference geometries; and the avoidance movement isdirected to increasing the clearance value between the first manipulatorarm and the second manipulator arm.
 9. The robotic method of claim 7wherein the avoidance vector is defined as a vector between a selectedfirst point of the first reference geometry and a selected second pointof the second reference geometry.
 10. The robotic method of claim 2,wherein the one or more joints are a first one or more joints and themethod further comprises: receiving a manipulation command to change thedesired state of the first distal portion or the second distal portion;determining a displacing movement of a second one or more joints of thefirst plurality of joints and the second plurality of joints to effectthe manipulation command, the displacing movement being determined bycalculating joint velocities in joint-velocity directions thatcorrespond to the first distal portion moving or the second distalportion moving; and driving the second one or more joints of thepluralities of first joints and second joints according to thedetermined displacing movement.
 11. The robotic method of claim 10,wherein the avoidance movement is determined by calculating jointvelocities of the first one or more joints of the pluralities of firstjoints and second joints from a first null space of a first Jacobianassociated with the first manipulator arm or a second null space of asecond Jacobian associated with the second manipulator arm; and thedisplacing movement is determined by calculating joint velocities of thesecond one or more joints of the pluralities of first joints and secondjoints from a first null-perpendicular space that is orthogonal to thefirst null space or a second null-perpendicular space that is orthogonalto the second null space.
 12. A robotic system comprising: a firstmanipulator arm including a first distal portion, a first proximalportion coupled to a first base, and a plurality of first joints betweenthe first distal portion and the first base, the plurality of firstjoints having a joint space with sufficient degrees of freedom to allowa range of differing joint states of the plurality of first joints for agiven state of the first distal portion; a second manipulator armincluding a second distal portion, a second proximal portion coupled toa second base, and a plurality of second joints between the seconddistal portion and the second base, the plurality of second jointshaving a joint space with sufficient degrees of freedom to allow a rangeof differing joint states of the plurality of second joints for a givenstate of the second distal portion; and one or more processorsconfigured to perform operations including: determining a firstreference geometry corresponding to a structure of the first manipulatorarm and a second reference geometry corresponding to a structure of thesecond manipulator arm; determining an avoidance movement of one or morejoints of the first plurality of joints and the second plurality ofjoints to maintain a separation between the first and second referencegeometries in a workspace of the robotic system, the avoidance movementbeing determined by calculating joint velocities in joint-velocitydirections that maintain a desired state of the first distal portion anda desired state of the second distal portion; and driving the one ormore joints of the pluralities of first joints and second jointsaccording to the determined avoidance movement.
 13. The robotic systemof claim 12, wherein the avoidance movement is determined by calculatingjoint velocities of the one or more joints of the pluralities of firstjoints and second joints from a first null space of a first Jacobianassociated with the first manipulator arm or a second null space of asecond Jacobian associated with the second manipulator arm.
 14. Therobotic system of claim 12, further comprising: a first supportstructure that includes the first base; and a second support structurethat includes the second base, the first support structure and thesecond support structure being separately mobile in the workspace of therobotic system.
 15. The robotic system of claim 12, further comprising:a support structure that includes and connects the first base and thesecond base.
 16. The robotic system of claim 12, wherein the avoidancemovement maintains the separation between the first and second referencegeometries in combination with the desired state of the first distalportion and the desired state of the second distal portion.
 17. Therobotic system of claim 12, wherein the operations further comprise:determining an avoidance vector based on a relative state of the firstand second reference geometries in the workspace of the robotic system,the avoidance vector characterizing the separation between the first andsecond reference geometries, and the avoidance movement being determinedfrom the avoidance vector.
 18. The robotic system of claim 17, wherein:the avoidance vector corresponds to a clearance value between the firstand second manipulator arms, the clearance value being determined fromvalues of the relative state of the first and second referencegeometries; and the avoidance movement is directed to increasing theclearance value between the first manipulator arm and the secondmanipulator arm.
 19. The robotic system of claim 17, wherein theavoidance vector is defined as a vector between a selected first pointof the first reference geometry and a selected second point of thesecond reference geometry.
 20. The robotic system of claim 12, whereinthe one or more joints are a first one or more joints and the operationsfurther comprise: receiving a manipulation command to change the desiredstate of the first distal portion or the second distal portion;determining a displacing movement of second one or more joints of thefirst plurality of joints and the second plurality of joints to effectthe manipulation command, the displacing movement being determined bycalculating joint velocities in joint-velocity directions thatcorrespond to the first distal portion moving or the second distalmoving; and driving the second one or more joints of the pluralities offirst joints and second joints according to the determined displacingmovement.
 21. The robotic system of claim 20, wherein the avoidancemovement is determined by calculating joint velocities of the first oneor more joints of the pluralities of first joints and second joints froma first null space of a first Jacobian associated with the firstmanipulator arm or a second null space of a second Jacobian associatedwith the second manipulator arm; and the displacing movement isdetermined by calculating joint velocities of the second one or morejoints of the pluralities of first joints and second joints from a firstnull-perpendicular space that is orthogonal to the first null space or asecond null-perpendicular space that is orthogonal to the second nullspace.
 22. A non-transitory readable memory storing aprocessor-implemented program for performing avoidance movements in arobotic system, the program including instructions that, when executedby one or more processors, cause the one or more processors to performoperations comprising: determining a first reference geometrycorresponding to a structure of a first manipulator arm of the roboticsystem, the first manipulator arm including a first distal portion, afirst proximal portion coupled to a first base, and a plurality of firstjoints between the first distal portion and the first base, theplurality of first joints having a joint space with sufficient degreesof freedom to allow a range of differing joint states of the pluralityof first joints for a given state of the first distal portion;determining a second reference geometry corresponding to a structure ofa second manipulator arm of the robotic system, the second manipulatorarm including a second distal portion, a second proximal portion coupledto a second base, and a plurality of second joints between the seconddistal portion and the second base, the plurality of second jointshaving a joint space with sufficient degrees of freedom to allow a rangeof differing joint states of the plurality of second joints for a givenstate of the second distal portion; determining an avoidance movement ofone or more joints of the first plurality of joints and the secondplurality of joints to maintain a separation between the first andsecond reference geometries in a workspace of the robotic system, theavoidance movement being determined by calculating joint velocities injoint-velocity directions that maintain a desired state of the firstdistal portion and a desired state of the second distal portion; anddriving the one or more joints of the pluralities of first joints andsecond joints according to the determined avoidance movement.